home *** CD-ROM | disk | FTP | other *** search
Wrap
/* File: TSMTE.h Contains: Definitions for TSMTE Written by: Kida Yasuo, Hara Keisuke Copyright: ©1991, 1992, 1994 Apple Operations and Technologies Japan, Inc. All rights reserved. */ #ifndef __TSMTE__ #define __TSMTE__ #ifndef __TEXTEDIT__ #include <TextEdit.h> /* #include <Quickdraw.h> */ /* #include <Types.h> */ /* #include <ConditionalMacros.h> */ /* #include <MixedMode.h> */ /* #include <Traps.h> */ /* #include <QuickdrawText.h> */ /* #include <IntlResources.h> */ #endif #ifndef __DIALOGS__ #include <Dialogs.h> /* #include <Windows.h> */ /* #include <Events.h> */ /* #include <OSUtils.h> */ /* #include <Controls.h> */ /* #include <Menus.h> */ #endif #ifndef __TEXTSERVICES__ #include <TextServices.h> /* #include <AppleEvents.h> */ /* #include <Memory.h> */ /* #include <EPPC.h> */ /* #include <PPCToolBox.h> */ /* #include <AppleTalk.h> */ /* #include <Processes.h> */ /* #include <Files.h> */ /* #include <SegLoad.h> */ /* #include <Notification.h> */ /* #include <Errors.h> */ /* #include <Components.h> */ #endif // Signature, interface types. enum { kTSMTESignature = 'tmTE', kTSMTEInterfaceType = kTSMTESignature, kTSMTEDialog = 'tmDI' }; // Gestalt enum { gestaltTSMTEAttr = kTSMTESignature, gestaltTSMTEPresent = 0, gestaltTSMTE = gestaltTSMTEPresent, gestaltTSMTEVersion = 'tmTV', gestaltTSMTE1 = 0x100 }; enum { kTSMTEAutoScroll = 1 // auto scroll on }; // Callback procedure definitions typedef pascal void (*TSMTEPreUpdateProcPtr)(TEHandle textH, long refCon); enum { uppTSMTEPreUpdateProcInfo = kPascalStackBased | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(TEHandle))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr TSMTEPreUpdateUPP; #define CallTSMTEPreUpdateProc(userRoutine, textH, refCon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppTSMTEPreUpdateProcInfo, (textH), (refCon)) #define NewTSMTEPreUpdateProc(userRoutine) \ (TSMTEPreUpdateUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppTSMTEPreUpdateProcInfo, GetCurrentISA()) #else typedef TSMTEPreUpdateProcPtr TSMTEPreUpdateUPP; #define CallTSMTEPreUpdateProc(userRoutine, textH, refCon) \ (*(userRoutine))((textH), (refCon)) #define NewTSMTEPreUpdateProc(userRoutine) \ (TSMTEPreUpdateUPP)(userRoutine) #endif typedef pascal void (*TSMTEPostUpdateProcPtr)(TEHandle textH, long fixLen, long inputAreaStart, long inputAreaEnd, long pinStart, long pinEnd, long refCon); enum { uppTSMTEPostUpdateProcInfo = kPascalStackBased | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(TEHandle))) | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(long))) | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(long))) | STACK_ROUTINE_PARAMETER(4, SIZE_CODE(sizeof(long))) | STACK_ROUTINE_PARAMETER(5, SIZE_CODE(sizeof(long))) | STACK_ROUTINE_PARAMETER(6, SIZE_CODE(sizeof(long))) | STACK_ROUTINE_PARAMETER(7, SIZE_CODE(sizeof(long))) }; #if USESROUTINEDESCRIPTORS typedef UniversalProcPtr TSMTEPostUpdateUPP; #define CallTSMTEPostUpdateProc(userRoutine, textH, fixLen, inputAreaStart, inputAreaEnd, pinStart, pinEnd, refCon) \ CallUniversalProc((UniversalProcPtr)(userRoutine), uppTSMTEPostUpdateProcInfo, (textH), (fixLen), (inputAreaStart), (inputAreaEnd), (pinStart), (pinEnd), (refCon)) #define NewTSMTEPostUpdateProc(userRoutine) \ (TSMTEPostUpdateUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppTSMTEPostUpdateProcInfo, GetCurrentISA()) #else typedef TSMTEPostUpdateProcPtr TSMTEPostUpdateUPP; #define CallTSMTEPostUpdateProc(userRoutine, textH, fixLen, inputAreaStart, inputAreaEnd, pinStart, pinEnd, refCon) \ (*(userRoutine))((textH), (fixLen), (inputAreaStart), (inputAreaEnd), (pinStart), (pinEnd), (refCon)) #define NewTSMTEPostUpdateProc(userRoutine) \ (TSMTEPostUpdateUPP)(userRoutine) #endif // TSMTERec #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct TSMTERec { TEHandle textH; // TEHandle TSMTEPreUpdateUPP preUpdateProc; // if not nil, this is called before updating text TSMTEPostUpdateUPP postUpdateProc; // if not nil, this is called after updating text long updateFlag; // flags described above long refCon; // reference constant used by application }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct TSMTERec TSMTERec, *TSMTERecPtr, **TSMTERecHandle; // TSMDalogRecord #if defined(powerc) || defined (__powerc) #pragma options align=mac68k #endif struct TSMDialogRecord { DialogRecord fDialog; // Dialog Record TSMDocumentID fDocID; // TSMDocument ID TSMTERecHandle fTsmteRecH; // Handle to the TSMTERec long fTSMTERsvd[3]; // •Internally used• }; #if defined(powerc) || defined(__powerc) #pragma options align=reset #endif typedef struct TSMDialogRecord TSMDialogRecord, *TSMDialogPeek; #endif /* #define __TSMTE__ */